#ifndef __GAME_H_API__
#define __GAME_H_API__
//--------------------------------------------------------------------------------
#include "Defines.h"
#include "Window.h"
#include "Renderer.h"
#include "Box.h"
#include "Circle.h"
#include "Triangle.h"
//--------------------------------------------------------------------------------

	

//--------------------------------------------------------------------------------

class ENGINE_API Game
{

public:
	Game(HINSTANCE hInstance);
	virtual ~Game();

	//engine functions
	bool StartUp();
	bool Loop();
	bool ShutDown();

protected:
	//game virtual functions to be overloaded in game
	virtual bool OnStartUp()=0;
	virtual bool OnLoop()=0;
	virtual bool OnShutDown()=0;
	Renderer* render;
	Window* m_pkWindows;
private:
	
	HINSTANCE m_hInstance;
	

	//COL_VERTEX* vertices;
	
	/*void *pCOL_VERTEXBuffer;// = NULL;
	LPDIRECT3DCOL_VERTEXBUFFER9 pCOL_VERTEXObject;
	*/
/*
	//scenes
public:

private:
	typedef map< string, Scene* > SceneMap;
	typedef map< string, Scene* >::iterator SceneMapIt;
	SceneMap m_kpaSceneToUpdate;
	SceneMap m_kpaSceneToDraw;
	Map* m_pkCurrentMap;

public:
	bool addSceneToUpdate(Scene* pkScene);
	bool removeSceneToUpdate(Scene* pkScene);
	bool addSceneToDraw(Scene* pkScene);
	bool removeSceneToDraw(Scene* pkScene);
	void setCurrentMap(Map* pkMap);
*/
};
//--------------------------------------------------------------------------------
#endif